home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 4 / The 640 Meg Shareware Studio CD-ROM Volume IV (Data Express)(1994).ISO / clang / lz13.zip / MACROS2.MLB < prev   
Text File  |  1993-05-01  |  7KB  |  538 lines

  1.     .xlist
  2. ;Tweaked MACROS1.MLB
  3. ;Haven't tried all these out yet.
  4. ;David Kirschbaum
  5. ;Toad Hall
  6. ;kirsch@braggvax.ARPA
  7.  
  8. getchr    macro
  9.     mov    ah,1
  10.     int    21h
  11.     endm
  12.  
  13. putchr    macro    chr
  14.     ifdif    <dl>,<chr>
  15.         mov    dl,chr
  16.     endif
  17.     mov    ah,2
  18.     int    21h
  19.     endm
  20.  
  21. getaux    macro
  22.     mov    ah,3
  23.     int    21h
  24.     endm
  25.  
  26. putaux    macro    chr
  27.     ifdif    <dl>,<chr>
  28.         mov    dl,chr
  29.     endif
  30.     mov    ah,4
  31.     int    21h
  32.     endm
  33.  
  34. putprn    macro    chr
  35.     ifdif    <dl>,<chr>
  36.         mov    dl,chr
  37.     endif
  38.     mov    ah,5
  39.     int    21h
  40.     endm
  41.  
  42. dcio    macro    char
  43.     ifnb    <char>
  44.         mov    dl,0ffh
  45.     else
  46.         ifdif    <dl>,<char>
  47.             mov    dl,char
  48.         endif
  49.     endif
  50.     mov    ah,6h
  51.     int    21h
  52.     endm
  53.  
  54. dcinne    macro
  55.     mov    ah,7h
  56.     int    21h
  57.     endm
  58.  
  59. noecho    macro    func
  60.     ifnb    <func>
  61.         ifdif    <al>,<func>
  62.             mov    ax,0800H+func
  63.         endif
  64.     else
  65.         mov    ax,0800H
  66.     endif
  67.     int    21H
  68.     endm
  69.  
  70. print    macro    str
  71.     mov    dx,offset str
  72.     mov    ah,9h
  73.     int    21h
  74.     endm
  75.  
  76. input    macro    buf
  77.     mov    dx,offset buf
  78.     mov    ah,0ah
  79.     int    21h
  80.     endm
  81.  
  82. dskrst    macro
  83.     mov    ah,0dh
  84.     int    21h
  85.     endm
  86.  
  87. seldsk    macro    drv
  88.     ifdif    <dl>,<drv>
  89.         mov    dl,drv
  90.     endif
  91.     mov    ah,0eh
  92.     int    21h
  93.     endm
  94.  
  95. open    macro    fcb
  96.     mov    dx,offset fcb
  97.     mov    ah,0fh
  98.     int    21h
  99.     endm
  100.  
  101. close    macro    fcb
  102.     mov    dx,offset fcb
  103.     mov    ah,10h
  104.     int    21h
  105.     endm
  106.  
  107. sfirst    macro    fcb
  108.     mov    dx,offset fcb
  109.     mov    ah,11h
  110.     int    21h
  111.     endm
  112.  
  113. snext    macro    fcb
  114.     mov    dx,offset fcb
  115.     mov    ah,12h
  116.     int    21h
  117.     endm
  118.  
  119. delete    macro    fcb
  120.     mov    dx,offset fcb
  121.     mov    ah,13h
  122.     int    21h
  123.     endm
  124.  
  125. seqrd    macro    fcb
  126.     mov    dx,offset fcb
  127.     mov    ah,14h
  128.     int    21h
  129.     endm
  130.  
  131. seqwrt    macro    fcb
  132.     mov    dx,offset fcb
  133.     mov    ah,15h
  134.     int    21h
  135.     endm
  136.  
  137. create    macro    fcb
  138.     mov    dx,offset fcb
  139.     mov    ah,16h
  140.     int    21h
  141.     endm
  142.  
  143. rename    macro    fcb
  144.     mov    dx,offset fcb
  145.     mov    ah,17h
  146.     int    21h
  147.     endm
  148.  
  149. getdrv    macro
  150.     mov    ah,19h
  151.     int    21h
  152.     endm
  153.  
  154. setdta    macro    buf
  155.     mov    dx,offset buf
  156.     mov    ah,1ah
  157.     int    21h
  158.     endm
  159.  
  160. rndrd    macro    fcb
  161.     mov    dx,offset fcb
  162.     mov    ah,21h
  163.     int    21h
  164.     endm
  165.  
  166. rndwrt    macro    fcb
  167.     mov    dx,offset fcb
  168.     mov    ah,22h
  169.     int    21h
  170.     endm
  171.  
  172. getsiz    macro    fcb
  173.     mov    dx,offset fcb
  174.     mov    ah,23h
  175.     int    21h
  176.     endm
  177.  
  178. setrel    macro    fcb
  179.     mov    dx,offset fcb
  180.     mov    ah,24h
  181.     int    21h
  182.     endm
  183.  
  184. setvec    macro    int,addr
  185.     mov    dx,offset addr
  186.     mov    ax,2500H+int
  187.     int    21h
  188.     endm
  189.  
  190. rndbrd    macro    fcb,siz
  191.     mov    dx,offset fcb
  192.     ifdif    <cx>,<siz>
  193.         mov    cx,siz
  194.     endif
  195.     mov    ah,27h
  196.     int    21h
  197.     endm
  198.  
  199. rndbwr    macro    fcb,siz
  200.     mov    dx,offset fcb
  201.     ifdif    <cx>,<siz>
  202.         mov    cx,siz
  203.     endif
  204.     mov    ah,28h
  205.     int    21h
  206.     endm
  207.  
  208. parse    macro    string,fcb,flag
  209.     ifdif    <[si]>,<string>
  210.         mov    si,offset string
  211.     endif
  212.     ifdif    <[di]>,<fcb>
  213.         mov    di,offset fcb
  214.     endif
  215.     ifdif    <al>,<flag>
  216.         mov    ax,2900H+flag
  217.     else
  218.         mov    ah,29H
  219.     endif
  220.     int    21h
  221.     endm
  222.  
  223. getdat    macro    year,month,day
  224.     mov    ah,2ah
  225.     int    21h
  226.     mov    year,cx
  227.     mov    month,dh
  228.     mov    day,dl
  229.     endm
  230.  
  231. setdat    macro    year,month,day
  232.     mov    cx,year
  233.     mov    dh,month
  234.     mov    dl,day
  235.     mov    ah,2bh
  236.     int    21h
  237.     endm
  238.  
  239. gettim    macro    hour,minute,second
  240.     mov    ah,2ch
  241.     int    21h
  242.     mov    hour,ch
  243.     mov    minute,cl
  244.     mov    second,dh
  245.     endm
  246.  
  247. settim    macro    hour,minute,second
  248.     mov    ch,hour
  249.     mov    cl,minute
  250.     mov    dh,second
  251.     xor    dl,dl
  252.     mov    ah,2dh
  253.     int    21h
  254.     endm
  255.  
  256. wrtver    macro    onoff
  257.     ifdif    <al>,<onoff>
  258.         mov    ax,2E00H+onoff
  259.     else
  260.         mov    ah,2EH
  261.     endif
  262.     int    21h
  263.     endm
  264.  
  265. getdta    macro    buf
  266.     push    bx
  267.     push    es
  268.     mov    ah,2fh
  269.     int    21h
  270.     mov    word ptr buf,bx
  271.     mov    word ptr buf+2,es
  272.     pop    es
  273.     pop    bx
  274.     endm
  275.  
  276. dosver    macro
  277.     mov    ah,30h
  278.     int    21h
  279.     endm
  280.  
  281. break    macro    onoff
  282.     ifnb    <onoff>
  283.         ifdif    <dl>,<onoff>
  284.             mov    dl,onoff
  285.         endif
  286.         mov    ax,3301H
  287.     else
  288.         mov    ax,3300H
  289.     endif
  290.     int    21h
  291.     endm
  292.  
  293. getvec    macro    int
  294.     mov    ax,3500H+int
  295.     int    21h
  296.     endm
  297.  
  298. free    macro    drv
  299.     ifnb    <drv>
  300.         ifdif    <dl>,<drv>
  301.         mov    dl,drv
  302.         endif
  303.     else
  304.         xor    dl,dl
  305.     endif
  306.     mov    ah,36h
  307.     int    21h
  308.     endm
  309.  
  310. credir    macro    path
  311.     mov    dx,offset path
  312.     mov    ah,39h
  313.     int    21h
  314.     endm
  315.  
  316. remdir    macro    path
  317.     mov    dx,offset path
  318.     mov    ah,3ah
  319.     int    21h
  320.     endm
  321.  
  322. setdef    macro    path
  323.     mov    dx,offset path
  324.     mov    ah,3bh
  325.     int    21h
  326.     endm
  327.  
  328. hcreat    macro    path,attrib
  329.     mov    dx,offset path
  330.     ifdif    <cx>,<attrib>
  331.     mov    cx,attrib
  332.     endif
  333.     mov    ah,3ch
  334.     int    21h
  335.     endm
  336.  
  337. hopen    macro    path,mode
  338.     mov    dx,offset path
  339.     ifdif    <al>,<mode>
  340.         mov    ax,3D00H+mode
  341.     else
  342.         mov    ah,3DH
  343.     endif
  344.     int    21h
  345.     endm
  346.  
  347. hclose    macro    handle
  348.     ifdif    <bx>,<handle>
  349.         mov    bx,handle
  350.     endif
  351.     mov    ah,3eh
  352.     int    21h
  353.     endm
  354.  
  355. hread    macro    handle,buf,siz
  356.     ifdif    <bx>,<handle>
  357.         mov    bx,handle
  358.     endif
  359.     mov    dx,offset buf
  360.     ifdif    <cx>,<siz>
  361.         mov    cx,siz
  362.     endif
  363.     mov    ah,3fh
  364.     int    21h
  365.     endm
  366.  
  367. hwrite    macro    handle,buf,siz
  368.     ifdif    <bx>,<handle>
  369.         mov    bx,handle
  370.     endif
  371.     mov    dx,offset buf
  372.     ifdif    <cx>,<siz>
  373.         mov    cx,siz
  374.     endif
  375.     mov    ah,40h
  376.     int    21h
  377.     endm
  378.  
  379. deletp    macro    path
  380.     mov    dx,offset path
  381.     mov    ah,41h
  382.     int    21h
  383.     endm
  384.  
  385. movptr    macro    handle,dist,method
  386.     ifdif    <bx>,<handle>
  387.         mov    bx,handle
  388.     endif
  389.     mov    dx,dist
  390.     mov    cx,dist+2
  391.     mov    ax,4200H+method
  392.     int    21h
  393.     endm
  394.  
  395. setatr    macro    path,attrib
  396.     mov    dx,offset path
  397.     ifnb    <attrib>
  398.         ifdif    <cx>,<attrib>
  399.             mov    cx,attrib
  400.         endif
  401.         mov    ax,4301H
  402.     else
  403.         mov    ax,4300H
  404.     endif
  405.     int    21h
  406.     endm
  407.  
  408. getdef    macro    path,drv
  409.     ifdif    <[si]>,<path>
  410.         mov    si,offset path
  411.     endif
  412.     ifdif    <dl>,<drv>
  413.         mov    dl,drv
  414.     endif
  415.     mov    ah,47h
  416.     int    21h
  417.     endm
  418.  
  419. malloc    macro    siz
  420.     ifdif    <bx>,<siz>
  421.         mov    bx,siz
  422.     endif
  423.     mov    ah,48h
  424.     int    21h
  425.     endm
  426.  
  427. fremem    macro    segm
  428.     ifnb    <segm>
  429.         mov    es,segm
  430.     endif
  431.     mov    ah,49h
  432.     int    21h
  433.     endm
  434.  
  435. setmem    macro    siz,segm
  436.     ifnb    <segm>
  437.         mov    es,segm
  438.     endif
  439.     ifdif    <bx>,<siz>
  440.         mov    bx,siz
  441.     endif
  442.     mov    ah,4ah
  443.     int    21h
  444.     endm
  445.  
  446. exec    macro    path,param,func
  447.     ifnb    <func>
  448.         mov    ax,4B00H+func
  449.     else
  450.         mov    ax,4b00h
  451.     endif
  452.     mov    dx,path
  453.     mov    bx,param
  454.     int    21h
  455.     endm
  456.  
  457. exit    macro
  458.     mov    ax,4c00h
  459.     xor    dx,dx
  460.     int    21h
  461.     endm
  462.  
  463. ffirst    macro    path,attrib
  464.     mov    dx,offset path
  465.     ifdif    <cx>,<attrib>
  466.         mov    cx,attrib
  467.     endif
  468.     mov    ah,4eh
  469.     int    21h
  470.     endm
  471.  
  472. fnext    macro
  473.     mov    ah,4fh
  474.     int    21h
  475.     endm
  476.  
  477. renamp    macro    old,new
  478.     mov    dx,offset old
  479.     mov    di,offset new
  480.     mov    ah,56h
  481.     int    21h
  482.     endm
  483.  
  484. tmstmp    macro    handle,date,time
  485.     ifdif    <bx>,<handle>
  486.         mov    bx,handle
  487.     endif
  488.     ifnb    <date>
  489.         ifdif    <dx>,<date>
  490.             mov    dx,date
  491.         endif
  492.         ifdif    <cx>,<time>
  493.             mov    cx,time
  494.         endif
  495.         mov    ax,5701H
  496.     else
  497.         mov    ax,5700H
  498.     endif
  499.     int    21h
  500.     endm
  501.  
  502. filtim    record    fil_hour:5,fil_minute:6,fil_second:5
  503. fildat    record    fil_year:7,fil_month:4,fil_day:5
  504.  
  505. fcb    struc
  506. fcb_drive    db    ?
  507. fcb_fname    db    '        '
  508. fcb_ftype    db    '   '
  509. fcb_curblk    dw    ?
  510. fcb_recsiz    dw    ?
  511. fcb_filsiz    dd    ?
  512. fcb_upddat    dw    ?
  513. fcb_resrvd    db    10 dup (?)
  514. fcb_currec    db    ?
  515. fcb_relrec    dd    ?
  516. fcb    ends
  517.  
  518. srcbuf    struc
  519. src_drive    db    ?
  520. src_fname    db    8 dup (?)
  521. src_ftype    db    3 dup (?)
  522. src_resrvd    db    10 dup (?)
  523. src_updtim    dw    ?
  524. src_upddat    dw    ?
  525. src_clust1    dw    ?
  526. src_filsiz    dd    ?
  527. srcbuf    ends
  528.  
  529. fndbuf    struc
  530. fnd_resrvd    db    21 dup (?)
  531. fnd_attrib    db    ?
  532. fnd_updtim    dw    ?
  533. fnd_upddat    dw    ?
  534. fnd_filsiz    dd    ?
  535. fnd_filnam    db    13 dup (?)
  536. fndbuf    ends
  537.     .list
  538.